Towards Categorizing and Formalizing the JDK API

نویسندگان

  • Choonghwan Lee
  • Dongyun Jin
  • Patrick O’Neil Meredith
  • Grigore Roşu
چکیده

Formal specification of correct library usage is extremely useful, both for software developers and for the formal analysis tools they use, such as model checkers or runtime monitoring systems. Unfortunately, the process of creating formal specifications is time consuming, and, for the most part, even the libraries in greatest use, such as the Java Development Kit (JDK) standard library, are left wholly without formal specification. This paper presents a tool-supported approach to help writing formal specifications for Java libraries and creating documentation augmented with highlighting and formal specifications. The presented approach has been applied to systematically and completely formalize the runtime properties of three core and commonly used packages of the JDK API, namely java.io, java.lang and java.util, yielding 137 formal specifications. Indirectly, this paper also brings empirical evidence that parametric specifications may be sufficiently powerful to express virtually all desirable runtime properties of the JDK API, and that its informal documentation can be formalized.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Formalizing the Java Security Architecture of JDK 1.2

The Java security architecture in the Java Development Kit 1.2 expands the current Java sandbox model, allowing ner-grained, congurable access control for Java code. This new security architecture permits more precise, yet exible, protection for both remote code (loaded across a network connection) and local code (residing on the same machine running the Java Virtual Machine) developed using th...

متن کامل

Towards Formalizing the Java Security Architecture of JDK

The Java security architecture in the Java Development Kit 1.2 expands the current Java sandbox model, allowing ner-grained, congurable access control for Java code. This new security architecture permits more precise, yet exible, protection for both remote code (loaded across a network connection) and local code (residing on the same machine running the Java Virtual Machine) developed using th...

متن کامل

Specification and Runtime Verification of API Constraints on Interacting Objects

Most applications need to invoke some Application Programming Interfaces (APIs), e.g. JDK (Java Development Kit) API. When invoking those APIs, applications must follow some API constraints. Violation of these constraints will lead to some severe program defects. To detect this kind of defects, lots of static and dynamic approaches are explored, using formally described API constraints. While m...

متن کامل

Formalizing Goals and Objectives in Iranian Educational System: A Historical Analysis

Formalizing goals and objectives within any organization is influenced by many socio-historical factors. To identify the trend in which educational goals and objectives within the Iranian educational system have evolved in terms of the approach, pattern, performance, and attending to individual differences, a historical analysis was undertaken. Findings are indicative of four eras: first, the c...

متن کامل

Hadoop-BAM: directly manipulating next generation sequencing data in the cloud

Hadoop-BAM is a novel library for the scalable manipulation of aligned next-generation sequencing data in the Hadoop distributed computing framework. It acts as an integration layer between analysis applications and BAM files that are processed using Hadoop. Hadoop-BAM solves the issues related to BAM data access by presenting a convenient API for implementing map and reduce functions that can ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012